package com.ktgj.flight.service;

import java.util.List;

import com.ktgj.flight.domain.CabinLevel;
import com.ktgj.flight.domain.FlightCabinrule;
import org.apache.ibatis.annotations.Param;

/**
 * 机票舱位退改签规则Service接口
 * 
 * @author ruoyi
 * @date 2022-04-18
 */
public interface IFlightCabinruleService 
{
    /**
     * 查询机票舱位退改签规则
     * 
     * @param ruleid 机票舱位退改签规则ID
     * @return 机票舱位退改签规则
     */
    public FlightCabinrule selectFlightCabinruleById(Long ruleid);

    /**
     * 查询机票舱位退改签规则列表
     * 
     * @param flightCabinrule 机票舱位退改签规则
     * @return 机票舱位退改签规则集合
     */
    public List<FlightCabinrule> selectFlightCabinruleList(FlightCabinrule flightCabinrule);

    /**
     * 新增机票舱位退改签规则
     * 
     * @param flightCabinrule 机票舱位退改签规则
     * @return 结果
     */
    public int insertFlightCabinrule(FlightCabinrule flightCabinrule);

    /**
     * 修改机票舱位退改签规则
     * 
     * @param flightCabinrule 机票舱位退改签规则
     * @return 结果
     */
    public int updateFlightCabinrule(FlightCabinrule flightCabinrule);

    /**
     * 批量删除机票舱位退改签规则
     * 
     * @param ruleids 需要删除的机票舱位退改签规则ID
     * @return 结果
     */
    public int deleteFlightCabinruleByIds(Long[] ruleids);

    /**
     * 删除机票舱位退改签规则信息
     * 
     * @param ruleid 机票舱位退改签规则ID
     * @return 结果
     */
    public int deleteFlightCabinruleById(Long ruleid);

    public CabinLevel queryCabinLevelId(Long cabinLevelId);

    /**
     * 查询舱位退改签规则
     * @param airline
     * @param cabin
     * @return
     */
    public List<FlightCabinrule> queryFlightCabinRule(String airline, String cabin);

    public List<CabinLevel> queryCabinLevelList();

    /**
     * 查询所有退改签规则
     * @return
     */
    public List<FlightCabinrule> selectFlightCabinRule();
}
